#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#include "estructuras.h"
#include "constantes.h"
#include "listas.h"

int	AgregarAColaDePedidosADisco(struct ListaIDdescriptors ** pnodo, struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult )
{
	struct ListaIDdescriptors *anterior;
	struct ListaIDdescriptors *aux;
	
	if((*ListaDeIDPedidos) == NULL)
	{
		(*pnodo)->Ant = NULL;
		(*pnodo)->Sgt = NULL;
		(*ListaDeIDPedidos) = (*pnodo);
	}	
	else
	{
		(*pnodo)->Ant = *ListaDeIDPedidos_Ult;	
		(*pnodo)->Sgt = NULL;
		(*ListaDeIDPedidos_Ult)->Sgt = (*pnodo);
	}
	
	*ListaDeIDPedidos_Ult=*pnodo;
	
}

void imprimirCola(struct ListaIDdescriptors *ptrActual){

   if(ptrActual==NULL)
      printf("La cola esta vacia\n");

   else{
   
		printf("La Cola es: \n");
		while(ptrActual!=NULL){ 
			printf("%i->",ptrActual->sector);
			/*printf("data %s\n",ptrActual->data);*/
			ptrActual=ptrActual->Sgt;  
		}
		printf("NULL \n");  
   }
   
} 


struct ListaIDdescriptors * SacarNodoDescriptoresDeLista(struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult)
{
	struct ListaIDdescriptors * temp;
	
	temp=*ListaDeIDPedidos;
	*ListaDeIDPedidos=(*ListaDeIDPedidos)->Sgt;
	if(*ListaDeIDPedidos == NULL){
      *ListaDeIDPedidos_Ult=NULL;
	}
	return temp;
	
}

int estaVacia(struct ListaIDdescriptors * ListaDeIDPedidos){

   return ListaDeIDPedidos==NULL;

}

int longitud(struct ListaIDdescriptors *  ptrActual) {
	
	int n=0;
	
	while (ptrActual != NULL) {  
      ++n;
	   ptrActual = ptrActual->Sgt;
	}
	return n;

}

